﻿@using Ext.Net.MVC;
@model Social.Game.DAL.User
@{
    ViewBag.Title = "List";
    Layout = "~/Views/Shared/_BaseLayout.cshtml";
}
@section content{
    @(
 
 Html.X().Viewport().Layout(LayoutType.Fit).
 Items(
 Html.X().GridPanel()
            .Title("Danh sách người dùng")
            .Frame(false)
            .DefaultAnchor("100%")
            .ID("grdUserList")
            .Store(
                Html.X().StoreForModel()
                    .Proxy(Html.X().AjaxProxy()
                        .Url(Url.Action("GetUsers"))
                        .Reader(Html.X().JsonReader().Root("data"))
                    )
                    .RemoteSort(true)
                    .PageSize(20)
                    .SorterFor(Model, m => m.UserName, Ext.Net.SortDirection.ASC)
            )
            .ColumnModel(
                 Html.X().CommandColumn()
                        .Width(60)
                        .Commands(
                            Html.X().GridCommand()
                                .CommandName("Delete")
                                .Icon(Icon.Delete)
                                .ToolTip(tt => tt.Text = "Delete"),
                            Html.X().GridCommand()
                                .CommandName("Edit")
                                .Icon(Icon.NoteEdit)
                                .ToolTip(tt => tt.Text = "Edit")
                        ).DirectEvents(de =>
                        {
                            de.Command.Url = Url.Action("EditCommand");
                            de.Command.EventMask.ShowMask = true;
                            de.Command.Confirmation.BeforeConfirm = "return (command=='Delete')";
                            de.Command.Confirmation.ConfirmRequest = true;
                            de.Command.Confirmation.Message = "Bạn có chắc chắn muốn xóa người dùng?";
                            de.Command.ExtraParams.Add(new Ext.Net.Parameter()
                            {
                                Name = "UserID",
                                Value = "record.data.UserID",
                                Mode = ParameterMode.Raw
                            });
                            de.Command.ExtraParams.Add(new Ext.Net.Parameter()
                           {
                               Name = "command",
                               Value = "command",
                               Mode = ParameterMode.Raw
                           });
                            de.Command.Success = "if (command=='Delete') App.grdUserList.store.load()";
                        }),
                Html.X().Column().DataIndex(Model, m => m.UserName).Text("Tên đăng nhập").Width(130),
                Html.X().Column().DataIndex(Model, m => m.CustomerName).Text("Họ và tên").Width(130),
                Html.X().DateColumn().DataIndex(Model, m => m.BOD).Text("Ngày sinh").Width(130).Format("dd-MM-yyyy"),
                Html.X().Column().DataIndex(Model, m => m.Email).Text("Email").Width(130),
                Html.X().Column().DataIndex(Model, m => m.Mobile1).Text("Điện thoại 1").Width(95),
                Html.X().Column().DataIndex(Model, m => m.Mobile2).Text("Điện thoại 2").Width(95),
                Html.X().Column().DataIndex(Model, m => m.RoleId).Text("Loại thành viên").Width(120),
                Html.X().Column().DataIndex(Model, m => m.State).Text("Trạng thái").Width(90)
            )
            .BottomBar(
                Html.X().PagingToolbar()
                    .DisplayInfo(true)
                    .DisplayMsg("Hiển thị người dùng {0} - {1} of {2}")
                    .EmptyMsg("Chưa có người dùng nào")
            ).TopBar(
                Html.X().Toolbar()
                    .Items(
                        Html.X().Button()
                        .Text("Tạo mới")
                        .Icon(Ext.Net.Icon.Add)
                       .DirectEvents(de =>
                       {
                           de.Click.Url = Url.Action("Create");
                           de.Click.EventMask.ShowMask = true;
                       }),
                        Html.X().ToolbarFill()
                    )
            )
))
}
